package loja;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.Scanner;

/**
 *
 * @author Ana Rosa
 */
public class Main
{

    public static void main(String[] args)
    {
        Produto produto = new Produto();
        int opcao = 1, quantidade, i = 0;
        float preco;
        java.util.Scanner res = new Scanner(System.in);
        String nome, dt;

        ArrayList<Produto> listaProduto = new ArrayList<Produto>();

        while(opcao !=0)
        {
            System.out.println("Opçoes: ");
            System.out.println("1 - Inserir");
            System.out.println("2 - Modificar");
            System.out.println("3 - Listar");
            System.out.println("0 - FINALIZAR");

            System.out.println("Opção:");
            opcao = res.nextInt();

            if (opcao == 1)
            {               
                System.out.println("Nome:");
                nome = res.next();
                System.out.println("Preco:");
                preco = res.nextFloat();
                System.out.println("Quantidade:");
                quantidade = res.nextInt();

                produto = produto.inicializarProduto(nome, preco, quantidade);
                listaProduto.add(produto);
            }

            if (opcao == 3)
            {
                for  (i = 0; i < listaProduto.size(); i++)
                {

                    System.out.println("Nome:" + listaProduto.get(i).getNome());
                    System.out.println("Preco:"+ listaProduto.get(i).getPreco());
                    System.out.println("Quantidade:" + listaProduto.get(i).getQuantidade());
                    System.out.println("Data"+ listaProduto.get(i).getData());
                }
            }
            
            if (opcao == 2)
            {
                Date data = null;
                System.out.println("Nome:");
                nome = res.next();
                System.out.println("Preco:");
                preco = res.nextInt();
                System.out.println("Quantidade:");
                quantidade = res.nextInt();
                System.out.println("Data:  (MM/dd/yy)");
                dt = res.nextLine();

                try
                {
                    DateFormat formatter = new SimpleDateFormat(dt);
                    data = (java.util.Date)formatter.parse(dt);
                } catch (ParseException e)
                {
                    System.out.println("Data errada");
                    System.exit(1);
                }


                produto.setNome(nome);
		produto.setPreco(preco);
		produto.setData(data);
		produto.setQuantidade(quantidade);

                Iterator it = listaProduto.iterator();

                for  (i = 0; i < listaProduto.size(); i++) 
                {
                    it.next();
                    if ( it.equals(produto)  )
                    {
                        System.out.println("Novos Campos:");
                        System.out.println("  ");
                        System.out.println("Nome:");
                        nome = res.nextLine();
                        System.out.println("Preco:");
                        preco = res.nextInt();
                        System.out.println("Quantidade:");
                        quantidade = res.nextInt();
                        System.out.println("Data:  (MM/dd/yy)");
                        dt = res.nextLine();

                        try
                        {
                            DateFormat formatter = new SimpleDateFormat(dt);
                            data = (java.util.Date)formatter.parse(dt);
                        } catch (ParseException e)
                        {
                            System.out.println("Data errada");
                            System.exit(1);
                        }
                        produto.setNome(nome);
                        produto.setPreco(preco);
                        produto.setData(data);
                        produto.setQuantidade(quantidade);
                    }  
                }  
            }
        }
    }

}
